package com.xrkol.sharelib.service;

import java.util.Date;
import java.util.List;

import com.xrkol.sharelib.entity.ClientType;
import com.xrkol.sharelib.entity.ResponseLogType;
import com.xrkol.sharelib.entity.ResponseStatusLog;
import com.weixin.sdk.ResponseStatus;

/**
 * ResponseStatus日志业务
 * 
 * @author dipei.ruan
 *
 */
public interface ResponseStatusLogService {

	/**
	 * 记录ResponseStatus
	 * 
	 * @param clientType
	 */
	public void logResponseStatus(ResponseStatus rs, ClientType clientType);

	/**
	 * get by id
	 * 
	 * @param id
	 * @return
	 */
	public ResponseStatusLog getResponseStatusLog(String id);

	/**
	 * 在startDate及endDate之间isSuccess的ResponseStatusLog
	 * 
	 * @param startDate
	 * @param endDate
	 * @param logType
	 * @param clientType
	 * @param timeASC
	 * @param page
	 * @return
	 */
	public List<ResponseStatusLog> getResponseStatusLogs(Date startDate,
			Date endDate, ResponseLogType logType, ClientType clientType,
			boolean timeASC, Integer page);

	/**
	 * 在startDate及endDate之间ResponseStatusLog
	 * 
	 * @param startDate
	 * @param endDate
	 * @param clientType
	 * @param timeASC
	 * @param page
	 * @return
	 */
	public List<ResponseStatusLog> getResponseStatusLogs(Date startDate,
			Date endDate, ClientType clientType, boolean timeASC, Integer page);
}
